﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Drawing;
using System.Linq;
using System.Text;

namespace AutoCorrelatorGUI.Model
{
   public interface IDataService
   {
      event Action<DataUpdateTypes> DataUpdated;

      event Action<string> StatusMessage;

      //Options Section
      void SetInputFile(string inputFile, bool performAutoCorrelation);
      void SetNormalization(NormalizationTypes normType);
      void SetCalcDerivative(bool calcDerivative);
      void SetCompareWell(string compareTitle);
      void SetIntervalTime(double intervalMS);
      void SetMotherWavelet(MotherWaveletTypes waveType);

      void GetAllWells(Action<IList<Well>> callback);

      void SaveOutputData(string outputFile);
   }
}
